package Test27;

import java.util.Arrays;
import java.util.Scanner;

public class Test {
    //创建键盘录入对象
    private static Scanner INPUT = new Scanner(System.in);
    //1.创建一个数组，长度为5
    private static int[] ARR = new int[5];
    public static void main(String[] args) {

        // 2.键盘录入5个整数，并赋值给数组
        for (int i = 0; i < ARR.length; i++) {
            System.out.print("请输入第"+(i+1)+"个整数：");
            ARR[i] = INPUT.nextInt();
        }

        // 3.调用方法，统计数组中元素大于10的个数
        count();
        System.out.println();
        // 4.调用方法，求数组中的最大值和最小值
        getMaxAndMin();
        System.out.println();
        // 5.调用方法，判断数组中是否存在某个数
        ifSearch();
        System.out.println();
        // 6.调用方法，对数组进行排序
        sort();
        }

    public static void count() {
        // 3.遍历数组，统计数组中元素大于10的个数
        // 3.1定义统计变量，用来统计大于10的个数
        int count=0;
        // 3.2遍历数组，判断每个元素是否大于10
        for (int i = 0; i < ARR.length; i++) {
            // 如果大于10，count++
            if(ARR[i]>10){
                count++;
            }
        }
        // 3.3打印输出大于10的个数
        System.out.println("数组中大于10的个数为："+count);
    }

    public static void getMaxAndMin() {
        // 4.遍历数组，求数组中的最大值和最小值
        // 4.1定义两个变量，用来记录最大值和最小值
        int max=ARR[0];
        int min=ARR[0];
        // 4.2遍历数组，获取数组中的最大值和最小值
        for (int i = 0; i < ARR.length; i++) {
            // 4.3比较当前元素和最大值，如果大于最大值，则更新最大值
            if(max>ARR[i]){
                max=ARR[i];
            }
        }
        for (int i = 0; i < ARR.length; i++) {
            // 4.3比较当前元素和最小值,如果小于最小值，则更新最小值
            if(min<ARR[i]){
                min=ARR[i];
            }
        }
        // 打印输出最大值和最小值
        System.out.println("数组中的最大值为："+max);
        System.out.println("数组中的最小值为："+min);
    }

    public static void ifSearch() {
        // 5.键盘录入一个整数，判断数组中是否存在该整数
        System.out.print("请输入一个整数：");
        int num = INPUT.nextInt();
        // 定义索引变量，用来记录是否存在该整数
        int index = -1;
        //// 5.1遍历数组，判断是否存在该整数
        for (int i = 0; i < ARR.length; i++) {
            if(ARR[i]==num){
                index=i;
            }
        }
        // 5.2打印输出结果
        // 如果index=-1，则表示不存在该整数
        if(index==-1){
            System.out.println("查无此数");
        }else{
            System.out.println("该数在数组中的索引位置为"+index);
        }
    }
    public static void sort() {
        // 6.对数组进行排序
        // 6.1冒泡排序
        for (int i = 0; i < ARR.length; i++) {
            for (int j = i+1; j < ARR.length; j++) {
                // 如果当前元素大于后一个元素，则交换位置
                if(ARR[i]>ARR[j]){
                    int temp=ARR[i];
                    ARR[i]=ARR[j];
                    ARR[j]=temp;
                }
            }
        }
        System.out.println("冒泡排序后的结果为"+Arrays.toString(ARR));
    }
}
